package com.ruoyi.project.ins.utils;

public class TaskUtils {
    /**
     * 批量任务最多线程数
     */
    private static final int BATCH_TASK_MAX_THREAD = 480;

    /**
     * 计算每个线程需要操作的任务数
     *
     * @param dataSize 数据大小
     * @return 每个线程操作的数据数
     */
    public static int getBatchSize(int dataSize) {
        if (dataSize <= 50) {
            return dataSize;
        }
        if (dataSize % BATCH_TASK_MAX_THREAD == 0) {
            return dataSize / BATCH_TASK_MAX_THREAD;
        }
        // 向上取整，保证任务能全部分配出去
        return dataSize / BATCH_TASK_MAX_THREAD + 1;
    }
}
